<?php

	session_start();

	require('setlang.php');
	require('Models/connectBDD.php');
	require('Models/basics.php');
	require('Models/alert.php');
	require('Models/location.php');
	require('Models/located.php');
	require('Models/bienproprio.php');
	
	require('Models/ariane.php');
	
	$Ariane = getArianeGenealogy();

	$connexion = PDO_BDD_connect();

	if (!isValidSessionUser($connexion) || !areValidUserRights($connexion))
	{
		header('Location:logout.php');
	}
	//On récupère les alertes
	$alerts = getAlerts($connexion,$_SESSION['userid']);
	//Si une alerte est passée ainsi que son type et qu'elle existe vraiment
	if (isset($_POST['alert_id']) && isset($_POST['type']) && isGoodAlert($alerts,$_POST['alert_id'],$_POST['type']))
	{
		//Si on veut refuser, on validera d'abord
		if (isset($_POST['non'.$_POST['type']]))
		{
			$valider = true;
		}
		//Si on veut valider, on s'occupe des deux cas, on prévient le propriétaire, que ce soit intermédiaire ou location
		if (isset($_POST['oui'.$_POST['type']]))
		{
			$_POST['alert_id'] = intval($_POST['alert_id']);
			deleteAlert($connexion,$_SESSION['userid'],$_POST['alert_id'],$_POST['type']);
			//il faut récupérer le proprio puis envoyer une alerte de type "Ytype" qui indiquera au proprio que c'est accepté.
			addAlertToUser($connexion,getAlertProprioId($alerts,$_POST['alert_id'],$_POST['type']),$_POST['alert_id'],"Y".$_POST['type']);
			
			if ($_POST['type'] == "int")
			{
				promoteClientToIntermed($connexion, $_SESSION['userid']);
				setIntermedToGood($connexion, $_SESSION['userid'], $_POST['alert_id']);
				$intermed = true;
			}
			else if ($_POST['type'] == "loc")
			{
				//ajouter une alert rdv à l'intermédiaire
				addAlertToUser($connexion,getLocationIntId($connexion,$_POST['alert_id']),$_POST['alert_id'],"rdv");
				//ajouter une alerte Yloc à soi même (pour tester quand on télécharge le contrat et pour l'affichage)
				addAlertToUser($connexion,$_SESSION['userid'],$_POST['alert_id'],"Yloc");
				//modifier le ref_personne vers soi même pour cette location
				changeLocationPers($connexion,$_POST['alert_id'],$_SESSION['userid']);
				//on passe l'état à loué (2)
				changeState($connexion,$_POST['alert_id'],2);
			}
			
		}
		//Si on supprime une alerte, ou qu'on valide un "non"
		if (isset($_POST['alert_delete']) || isset($_POST['validernon']))
		{
			if ($_POST['type'] == "loc" || $_POST['type'] == "int")
			{
				//il faut récupérer le proprio puis envoyer une alerte de type "Ntype" qui indiquera au proprio que c'est refusé. (S'il y a une alert déjà existante disant que c'est accepté, on veut juste effacer de la vue l'alerte et non refuser.)
				addAlertToUser($connexion,getAlertProprioId($alerts,intval($_POST['alert_id']),$_POST['type']),intval($_POST['alert_id']),"N".$_POST['type']);
			}
			deleteAlert($connexion,$_SESSION['userid'],intval($_POST['alert_id']),$_POST['type']);
		}
	
	}
	
	$alerts = getAlerts($connexion,$_SESSION['userid']);
	require("Views/client.php");
	
?>
